Methods, systems, and computer program products for providing traffic control services

ABSTRACT

Traffic control services include detecting an occurrence of an activity via a computer processor. The activity subject to the detecting includes a presence of a device. The services also include obtaining traffic management support information associated with a source and destination of the activity. The traffic management support information includes user-defined preferences for controlling traffic to the device. The services further include determining whether the source and the destination supports traffic management activities, and if the source and the destination support the traffic management activities the computer processor subscribes to traffic messages provided by the source and implements traffic management activities for the source and the destination based upon the traffic messages and the user-defined preferences. If the source and the destination do not support the traffic management activities, the computer processor performs default traffic management activities.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation application of U.S. application Ser.No. 11/304,264 filed on Dec. 14, 2005. Application Ser. No. 11/304,264claims priority to U.S. Provisional Application No. 60/667,018, filed onMar. 31, 2005, the contents of which are incorporated by referenceherein in its entirety. This application is related to commonly assignedU.S. Pat. No. 7,975,283. This application is also related to commonlyassigned U.S. Pat. No. 8,258,861. This application is also related tocommonly assigned U.S. Pat. No. 8,024,438. This application is furtherrelated to commonly assigned U.S. patent application Ser. No.11/300,061. This application is also related to commonly assigned U.S.Pat. No. 8,098,582. These applications and patents are incorporated byreference herein in their entireties.

BACKGROUND

The present invention relates generally to communications services, andmore particularly, to methods, systems, and computer program productsfor providing traffic control services.

Digital Subscriber Line (DSL) technology is a copper loop transmissiontechnology that provides increased bandwidth in the last mile betweencommunication service providers and the users of these services. DSLtechnology provides broadband speed over a conventional phone wire,which in turn, allows service providers to provide multimediaapplications, e.g., video, VoIP (Voice over Internet Protocol),Internet, etc., to their customers over their existing outside plantinfrastructure.

Various services (e.g., television services), however, typically consumelarge amounts of bandwidth on a DSL connection. When multiple services(e.g., television, video/music downloading, gaming, etc.) aresimultaneously utilized for a single account (e.g., household), theoverall quality of these services can be negatively impacted due tostrain on the available bandwidth (e.g., transmission delays or droppedpackets), resulting in loss of quality, such as reduced VoIP voicequality. Customers may have some rudimentary knowledge of these issuesand attempt to troubleshoot by activating and deactivating variousservices. However, they may not be able to resolve the issues unlessthey are given specific information about the nature of the issues andsuggested courses of action for correcting the issues, and even then thecomplexities associated with potential solutions may be overwhelming tothe user/customer. Further, the customer may not have direct controlover various aspects of resources or the network which could be used toresolve or minimize such problems, such as packet priority, or othersession flow control parameters.

What is needed, therefore, is a way to control aspects of one or moreservices and/or resources and/or the communications network such thatappropriate quality levels are maintained for the variousservices/sessions/users.

BRIEF SUMMARY

Exemplary embodiments include a method for providing traffic controlservices. The method includes detecting an occurrence of an activity viaa computer processor. The activity subject to the detecting includes apresence of a device. The method also includes obtaining trafficmanagement support information associated with a source of the activityand a destination of the activity. The traffic management supportinformation includes user-defined preferences for controlling traffic tothe device. The method further includes determining whether the sourceand the destination supports traffic management activities and, if thesource and the destination support the traffic management activities,the method includes subscribing to traffic messages provided by thesource and implementing traffic management activities for the source andthe destination based upon the traffic messages and the user-definedpreferences. If the source and the destination do not support thetraffic management activities, the method includes performing defaulttraffic management activities via the computer processor. The methodalso includes reporting a status of the device

Additional embodiments include a system for providing traffic controlservices. The system includes a controller including a computerprocessor and computer logic executing on the computer processor forperforming a method. The method includes detecting an occurrence of anactivity via a computer processor. The activity subject to the detectingincludes a presence of a device. The method also includes obtainingtraffic management support information associated with a source of theactivity and a destination of the activity. The traffic managementsupport information includes user-defined preferences for controllingtraffic to the device. The method further includes determining whetherthe source and the destination supports traffic management activitiesand, if the source and the destination support the traffic managementactivities, the method includes subscribing to traffic messages providedby the source and implementing traffic management activities for thesource and the destination based upon the traffic messages and theuser-defined preferences. If the source and the destination do notsupport the traffic management activities, the method includesperforming default traffic management activities via the computerprocessor. The method also includes reporting a status of the device.

Further embodiments include a tangible computer-readable storage mediumfor providing traffic control services. The computer-readable medium isencoded with computer executable code to perform a method. The methodincludes detecting an occurrence of an activity via a computerprocessor. The activity subject to the detecting includes a presence ofa device. The method also includes obtaining traffic management supportinformation associated with a source of the activity and a destinationof the activity. The traffic management support information includesuser-defined preferences for controlling traffic to the device. Themethod further includes determining whether the source and thedestination supports traffic management activities and, if the sourceand the destination support the traffic management activities, themethod includes subscribing to traffic messages provided by the sourceand implementing traffic management activities for the source and thedestination based upon the traffic messages and the user-definedpreferences. If the source and the destination do not support thetraffic management activities, the method includes performing defaulttraffic management activities via the computer processor. The methodalso includes reporting a status of the device.

Other systems, methods, and/or computer program products according toembodiments will be or become apparent to one with skill in the art uponreview of the following drawings and detailed description. It isintended that all such additional systems, methods, and/or computerprogram products be included within this description, be within thescope of the present invention, and be protected by the accompanyingclaims.

BRIEF DESCRIPTION OF DRAWINGS

Referring now to the drawings wherein like elements are numbered alikein the several FIGURES:

FIG. 1 is a traffic control system upon which the traffic managementservices may be implemented in exemplary embodiments;

FIG. 2 is a flow diagram describing a process for establishing andmaintaining the traffic control system of FIG. 1 in exemplaryembodiments;

FIG. 3 is a flow diagram describing a process for establishing andmaintaining the traffic control system of FIGS. 1 and 2 with respect toa controller and an external network in exemplary embodiments;

FIG. 4 a flow diagram describing a process for establishing andmaintaining the traffic control system of FIGS. 1 and 2 with respect toa controller and a local area network in exemplary embodiments;

FIG. 5 is a flow diagram describing a process for establishing andmaintaining the traffic control system of FIGS. 1 and 2 with respect toa controller and a user at a local area network in exemplaryembodiments; and

FIG. 6 is a flow diagram describing a process for establishing andmaintaining the traffic control system of FIGS. 1 and 2 with respect toa controller and a traffic session in exemplary embodiments.

The detailed description explains the exemplary embodiments, togetherwith advantages and features, by way of example with reference to thedrawings.

DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS

In accordance with exemplary embodiments, a traffic control system forproviding traffic management services is provided. The traffic controlsystem enables various types of users, e.g., personal consumers, networkproviders, and content providers to manage the transfer of data for avariety of devices, applications, and content types. The trafficmanagement services may be implemented between a controller and one ormore networks, devices, and sessions.

Turning now to FIG. 1, a network system upon which the trafficmanagement services may be implemented will now be described. Inexemplary embodiments, the system of FIG. 1 includes a customer premises102 in communication with a service provider via server(s) 104 and acontent provider via server(s) 106 over one or more networks (e.g.,network 108). The service provider server 104 may be implemented by,e.g., a provider of DSL services, which provides service sessions to itscustomers (e.g., customer premises 102) via network 108, which servicesare further distributed to the appropriate devices therein.

Content provider server 106 may be implemented by a commercial entity,e.g., television network, music company, publishing company, etc., thatprovides content to its customers (e.g., customer premises 102) vianetwork 108. In alternative exemplary embodiments, a content providermay be a non-commercial entity such as a user system located at anothercustomer premises. In this alternative embodiment, the user system(e.g., consumer device) may provide content via a personal computer,personal digital assistant, cellphone, etc., in lieu of the server 106.Examples of content may include television programming, text files,music files, video, multi-media content, etc.

Each of the servers 104, 106 may be implemented using one or moreprocessors operating in response to a computer program stored in astorage medium accessible by the servers. The servers may operate asnetwork servers (e.g., a web server) to communicate with one or morecommunications elements such as devices 114-118 at customer premises102. The servers 104, 106 handle sending and receiving information toand from one or more of the communications elements and can performassociated tasks.

Each of the servers 104, 106 may also operate as an application server.For example, service provider server 104 may execute one or morecomputer programs to implement digital subscriber line (DSL) services toits customers, as well as other processes and related functions.Likewise, content provider server 106 may execute one or more computerprograms to provide content to receiving devices (e.g., devices 114,116, server 104, etc.).

As shown in the system of FIG. 1, service provider server 104 is incommunication with a storage device 124, and content provider server 106is in communication with a storage device 126. It will be understood bythose skilled in the art that service provider server 104 and contentprovider server 106 may each be in direct communication with respectivestorage devices 124, 126 via, e.g., wireline or wireless technologies,etc. Alternatively, each of storage devices 124, 126 may be implementedusing memory contained in respective servers 104, 106. Storage devices124, 126 may be implemented using a variety of devices for storingelectronic information. The storage devices 124, 126 may be logicallyaddressable as a consolidated data source across a distributedenvironment that includes, e.g., network 108. Information stored in thestorage devices 124, 126 may be retrieved and manipulated via therespective servers 104, 106.

Each of the storage devices 124, 126 includes a data repository thatstores, e.g., one or more of content; device, user, and accountinformation; management and control algorithms, etc. As indicated above,content stored by content provider server 106 may include televisionprogramming, text files, music files, video, electronic gamingdata/content, multi-media content, etc. In alternative exemplaryembodiments, some of the content provided by the content provider entityor other source of content may be stored by the service provider entityin storage device 124 via, e.g., personal video recorders (PVRs),allowing a customer premises (e.g., 102) in close proximity to theservice provider to download the content. By storing the content closerto the customer premises 102, a reduction in the amount of bandwidthconsumed upstream from the customer premises 102 may be minimized. Infurther exemplary embodiments, a second customer premises (not shown)may be implemented in the system of FIG. 1 that includes a PVR forcommunicating with customer premises 102 to share content stored ontheir respective PVRs via, e.g., a peer-to-peer network.

Network 108 may be any type of known network including, but not limitedto, a Wide Area Network (WAN), a global network (e.g., Internet), orother network configuration known in the art. These networks may beimplemented using a wireless network or may be physically connected toeach other in a state of the art configuration. Further, the network 108may include wireless or wireline connections, radio-basedcommunications, telephony based communications, optical communications,and other network-based communications. In addition, network 108 and/orthe service provider entity may include monitoring equipment (not shown)for tracking and routing the flow of data through communicationselements (e.g., devices 114, 116, servers 104, 106, etc.).

Customer premises 102 may comprise, e.g., a residential entity orbusiness establishment. Customer premises 102 includes various devicesthat utilize communication services provided by a service provider(e.g., service provider server 104) via one or more networks 108. Thesedevices, in turn, may communicate with one another via, e.g., a localarea network (LAN). The LAN may be wireline, wireless, or a combinationthereof. Devices residing in the LAN of customer premises 102 mayinclude, e.g., one or more computer systems (e.g., device 114), one ormore televisions (e.g., device 116), one or more presence detectiondevices 118, one or more personal video recorders (PVRs) (not shown),one or more telephony devices (not shown), and one or more applications(e.g., video chat, file download, video conferencing, interactivegaming, multi-media applications, etc.) executing on the aforementioneddevices, to name a few.

Computer system 114 may comprise a personal computer, laptop, or othersimilar type of processing device. Computer system 114 may implement avariety of network-enabled applications, such as Internet gaming,interactive applications, video chat, graphical/pictorial applications,encryption tools, interactive multi-media applications, multi-mediacontent, etc. Television device 116 may include a standard broadcast,cable, and/or premium channel-viewing device. Television device 116 mayalso comprise network elements that support, e.g., Web TV. In addition,television device 116 may include peripheral components, such as a settop box, remote control, PVR, or other suitable elements. The PVR may beused to record video and/or audio content that is downloaded from theservice provider and/or content provider through the network 108. Itwill be understood that any of these components may provide computingfunctions or operations. Telephony devices may comprise a wirelinetelephone, a cellular telephone, SIP (Session Initiation Protocol) orVoIP telephone, or other suitable voice communications device. Further,telephony devices may implement multi-media applications such asvideo/text messaging and related functions.

Presence detection device 118 identifies the presence of an individual,other living object, and/or devices (e.g., devices 114 and 116, etc.) incustomer premises 102 and communicates the presence to a controller 110,which is also included in the customer premises 102. Presence detectiondevice 118 may also detect the presence of a network (e.g., via aBlueTooth® device detection, etc.). Alternatively, the controller 110may be configured to detect the presence of one or more of these items(objects, devices, networks, etc.). Presence detection device 118 maycomprise one or more sensors (e.g., camera, bio-scanner, heat sensor,motion sensor, BlueTooth® device, any other types of sensors, e.g., RFIDsensor, etc.), which communicate the detection to controller 110.

Customer premises 102 also includes device, user, and accountinformation 112. The device, user, and account information may be storedin one or more of devices 114, 116, and other systems that containmemory. Customer premises 102 also includes management and controlalgorithms 122. The management and control algorithms may be stored inone or more of devices 114, 116, and other items in customer premises102 that contain memory. The controller 110 accesses device, user,account information 112, as well as management and control algorithms122 as will be described further herein.

Customer premises 102 may also include content 120. Content 120 may beprogramming downloaded from one or both of storage devices 124 and 126and stored, e.g., on a set top box in communication with televisiondevice 116. The content 120 may alternatively include video and/or audiocontent stored on one or more of devices 114, 116, or other device incommunication with controller 110.

It will be understood that all or a portion of the content 120, device,user, and account information 112, and management and control algorithms122 may be distributed over network 108 and stored on one or both ofstorage devices 124 and 126.

The controller 110 of customer premises 102 may serve as a gateway,e.g., residential gateway (RG) and, optionally, a routing device toallow one or more of devices 114, 116 to communicate via an interface.The residential gateway may also be used to provide a firewall toinhibit viruses or other system attacks from affecting the devices inthe customer premises 102.

If the services provided by service provider server 104 comprise DSLservices, the residential gateway of customer premises 102 maycommunicate with network 108 via, e.g., a digital subscriber line accessmultiplexor (DSLAM) (not shown). The DSLAM concentrates traffic frommultiple DSL loops onto a backbone network, which is part of the network108. The DSLAM may, in some embodiments, operate on packets, frames,and/or messages passing therethrough. For example, to support dynamic IPaddress assignment, the DSLAM may inspect the IP address of packets todirect the packets to their proper destination.

In exemplary embodiments, controller 110 is in communication withservice provider server 104 and content provider server 106 via network108 and is also in communication with devices 114-118. Controller 110implements traffic management services for each separate session presenton a connection at the LAN of customer premises 102. In exemplaryembodiments, controller 110 includes a processor, memory, and logic.Controller 110 receives and executes instructions for controllingcontent on devices in the LAN of customer premises 102. Controller 110also receives input information (e.g., presence detection signals, userIDs, etc.) from devices 114-118 and relays this information to anappropriate location or destination as described further herein.

Controller 110 may be a stand-alone device or may be incorporated into aresidential gateway, modem, device, etc. In accordance with exemplaryembodiments, the functionality of controller 110 may be implementedoutside of the LAN of customer premises 102, such as in software orhardware elements under the management of one or more external entities,such as a service provider, content provider, etc.

Controller 110 facilitates traffic management and control by receivinginstructions/messages from one or more devices, users, networks, and/orsessions. This may be implemented by identifying devices, applications,networks, etc. that are capable of participating in traffic managementactivities and distributing and/or exchanging relevant information(e.g., capabilities, instructions, etc.) from these devices,applications, networks, etc., in furtherance of performing trafficcontrol.

Traffic control activities may include, e.g., monitoring networksessions occurring over a connection, notifying relevant entities ofspecified traffic-related issues, and modifying the distribution oftraffic for one or more of these sessions based upon various criteria.

For example, in response to monitoring traffic across a connection,traffic flow issues may be determined that trigger notifications todevice, users, etc., based upon user- and/or network-defined criteria.These elements may be implemented via proprietary systems, or may beimplemented via the Bandwidth Management System disclosed in co-pending,commonly assigned patent application Attorney docket No. 050047entitled, METHODS, SYSTEMS, AND COMPUTER PROGRAM PRODUCTS FORIMPLEMENTING BANDWIDTH MANAGEMENT SERVICES, filed on Dec. 14, 2005, thecontents of which are incorporated by reference herein in its entirety.The Bandwidth Management System discloses a process for monitoringtraffic and traffic types transiting a network connection, analyzing thetraffic measurements, determining approximately when, and in whatmanner, simultaneously provided services (e.g., services provided overmultiple simultaneous service sessions) are likely to interfere with orotherwise impact each other, and notifying those affected of theseconditions so that those affected may take corrective actions.

The determination of these issues are made, e.g., using appropriaterules and algorithms to test various single measurements, and/orcombinations of measurements, and/or calculated values based on suchmeasurement inputs and/or determinations based on such measurementinputs against thresholds and/or other suitable criteria. Alternativelyor additionally, the determination may be based upon associatednotification capabilities (e.g., device capabilities and selectedpreferences).

Modifications to the distribution of traffic may be implemented viaproprietary systems or may be implemented via the Bandwidth ControlSystem disclosed in a co-pending, commonly assigned application,Attorney Docket No. 050073 entitled, METHODS, SYSTEMS, AND COMPUTERPROGRAM PRODUCTS FOR IMPLEMENTING BANDWIDTH CONTROL SERVICES, filed onDec. 14, 2005, the contents of which are incorporate by reference hereinin its entirety. The Bandwidth Control System discloses a system formonitoring traffic and traffic types transiting a network connection,analyzing the traffic measurements, determining approximately when, andin what manner, simultaneously provided services (e.g., servicesprovided over multiple simultaneous data sessions) are likely tointerfere with, or otherwise impact each other, and to automaticallyadjust traffic policing or shaping or other control mechanisms in thenetwork and/or to automatically adjust service parameters such as thelevel and timing of device/application requests or service/serverresponses or other service-related activity so as to correct the problemor avoid its occurrence, and further to automatically determine andimplement the best coordinated combination of control via the above.

The bandwidth control system further enables customers to set bandwidthpriorities according to a set of rules, e.g., scheduling certaindays/times for high bandwidth service and other days/times for lowbandwidth service.

Modifications to the distribution of traffic may also be implementedaccording to device characteristics as disclosed in co-pending, commonlyassigned application, Attorney Docket No. 050049 entitled, METHODS,SYSTEMS, AND DEVICES FOR BANDWIDTH CONSERVATION, filed on Dec. 14, 2005,the contents of which are incorporate by reference herein in itsentirety.

Alternatively, modifications to the distribution of traffic may also beimplemented according to presence detection (e.g., detecting thepresence of a device, a user of a device, an application executing on adevice, a network presence, or a lack thereof, etc.) as disclosed inco-pending, commonly assigned application, Attorney Docket No. 050027,entitled PRESENCE DETECTION IN A BANDWIDTH MANAGEMENT SYSTEM, filed onDec. 14, 2005, the contents of which are incorporated by referenceherein in its entirety. For example, a screen-saver mode may beimplemented such that if a viewer has not operated a remote for a device(e.g., 114, 116) within a specified time period, the current programmingon the device is paused and the device transitions into a low bandwidthscreensaver mode, along with a corresponding reduction in bandwidthutilization across the serving network(s).

The controller 110 facilitates these and other processes as describedfurther herein.

In alternative exemplary embodiments, the system of FIG. 1 may includemultiple competing or co-existing service provider entities and/orcontent provider entities that participate in the traffic controlsystem. For example, traffic management services may be implemented forconsumers irrespective of which service provider they choose forreceiving network services, whereby controller 110 provides thefunctionality for communicating with these different provider entities.In this alternative exemplary embodiment, controller 110 may furtherinclude a translator component and a security component. The translatorcomponent enables the controller 110 to interoperate with differentsystems/algorithms regardless of which service provider provides networkservices to a consumer. Also, the translator component may be configuredsuch that it is able to communicate with other controllers (e.g., thoseproduced by different manufacturers) in order to convert betweendifferent data formats and/or structures and/or usages, etc. Thefunctionality of the translator component may be implemented, e.g., viaa database residing within the controller 110 that contains translationrules or parameters for these other systems. The controller 110 thenqueries the database for information regarding the other system orcontroller.

In addition, the controller 110 may include a coordination function viaits internal logic that enables it to exchange information with othercontrollers and coordinate a determination of preferred or optimalactions to take based upon, e.g., network, bandwidth, and/or financialconstraints. Also, the coordination function may be configured tocooperatively act with other traffic control systems so as to achieve ashared solution for obtaining the traffic control objectives.

The controller 110 may also include a security component that includesrules for ensuring that the controller 110 is protected from anyattempts to cause harm by providing bad inputs (e.g., a hacker may havecomprised one of the other systems, then subsequently attempts to trickor harm the controller 110 by sending it information crafted to causeharm or cause the controller to crash or infect other systems).

As indicated above, the traffic management services may be implementedbetween a controller and one or more networks, devices (and deviceusers), and sessions. Turning now to FIG. 2, a process for establishingand maintaining the traffic control system in accordance with exemplaryembodiments will now be described. At step 202, the occurrence of anactivity is detected by the controller 110. The activity may originatefrom a network (e.g., network 108, the LAN of customer premises 102,etc.), a device (e.g., devices 114-118, an application executing on oneof devices 114-118), a living object (e.g., a user of one of devices114-118, an individual or pet that is present in customer premises 102,etc.), or a communications session (e.g., device powered up, loginprocess, network session, etc.). The controller 110 detects thisactivity and seeks traffic management support information associatedwith the source of the activity (and optionally, a destination of theactivity) at step 204. The traffic management support information mayinclude device, user account information stored in 112 or storagedevices 124, 126, as well as management and control algorithms stored in122 and/or storage devices 124, 126. The device, user, and accountinformation may include user-defined preferences for controlling trafficto devices as described in co-pending applications, Attorney Docket No.050073 and/or Attorney Docket No. 050047, referenced above. Themanagement and control algorithms may include rules for handling trafficflow and traffic-related issues as described in co-pending applications,Attorney Docket No. 050073 and/or Attorney Docket No. 050047, referencedabove.

At step 206, it is determined whether the source (and optionally, thedestination) supports traffic management services, such as thoseprovided by the traffic control system and/or one or more of the toolsdisclosed in the aforementioned co-pending applications. If so, thecontroller 110 subscribes to traffic management messages at step 208.The controller 110 communicates its existence and its capabilities toexchange traffic management messages from other systems and devices. Atstep 210, the traffic management activities are implemented inaccordance with the subscription messages. The traffic managementactivities may include one or more of the processes disclosed in theaforementioned co-pending applications. On the other hand, if the sourcedoes not support traffic management activities, then the controller 110implements default traffic management at step 212. Default trafficmanagement may comprise existing gateway/routing functions (e.g.,receiving incoming traffic and distributing the traffic to theappropriate device).

The flow diagrams of FIGS. 3-6 expand on the traffic control systemfunctions described in FIG. 2, based upon the source and/or destinationof the activity, as will now be described in accordance with exemplaryembodiments. Turning now to FIG. 3, a process for establishing andmaintaining the traffic control system with respect to a controller anda network will now be described. At step 302, a network activity (e.g.,network 108, LAN of customer premises 102, etc.) is detected by thecontroller 110. The activity may be as simple as detecting the network'spresence (e.g., a signal transmitted via a LAN router operating inconjunction with a personal computer, such as device 114, which is thentransmitted to, or is otherwise detected by, the controller 110; or viapresence detection device 118 using, e.g., Bluetooth® detection, etc.).At step 304, the controller 110 polls the network for traffic managementsupport information. The traffic management support information mayinclude rules/algorithms stored in memory, e.g., 122, data storagedevices 124, 126, etc., as described above with respect to FIG. 2.

At step 306, it is determined whether the network supports trafficmanagement services. If so, the controller 110 subscribes to trafficmanagement messages from the network at step 308. At step 310, thecontroller 110 reports its capabilities to the network. Capabilities mayinclude, for example, a list of traffic control method(s) supported,algorithms supported, data format/structures/usages supported, versionnumbers, or information about subtended devices, as described furtherherein. At step 312, the controller 110 logs the status of thesubscription to the network in its internal database and initiatestraffic management services in accordance with the traffic messages atstep 314. The traffic management services may include one or more of theprocesses disclosed in the aforementioned co-pending applications. If,however, the network does not support traffic management services atstep 306, the controller implements default traffic management at step316 as described above in FIG. 2.

Turning now to FIG. 4, a process for establishing and maintaining thetraffic control system with respect to a controller and one or moredevices (e.g., 114-118) will now be described. At step 402, a deviceactivity is detected by the controller 110. The activity may includepowering up (or down) a device, logging in to a device, accessing anapplication via the device, receiving a signal from a presence detectiondevice 118, etc. At step 404, the controller 110 polls the device fortraffic management support information. In the presence detectionexample, the polling may be implemented for a device that is in closeproximity of the presence detection device 118. The traffic managementsupport information may include rules/algorithms stored, e.g., in one ofdevices 114 or 116. At step 406, it is determined whether the devicesupports traffic management services. If so, the controller 110subscribes to traffic management messages from the device at step 408.At step 410, the controller 110 reports its capabilities to the device.At step 412, the controller 110 publishes device capabilities forexternal access. The externally accessible (i.e., published) devicecapabilities may be used by, e.g., a service provider or contentprovider to manage traffic and bandwidth utilization across its network.At step 414, the controller 110 logs the status of the subscription tothe device in its internal database and initiates traffic managementservices in accordance with the traffic messages at step 416. If,however, the device does not support traffic management services at step406, the controller 110 implements default traffic management at step418 as described above in FIG. 2.

Turning now to FIG. 5, a process for establishing and maintaining thetraffic control system with respect to a controller and a living object(e.g., a user of one of devices 114-118, an individual or pet that ispresent in customer premises 102, etc.) will now be described. At step502, a user activity is detected by the controller 110. The activity mayinclude the presence of the user near a device (e.g., via presencedetection device 118), logging in to a device with a user ID thatidentifies a particular individual, accessing an application thatidentifies an individual via registration activities, etc., a signalreceived from a cellular telephone that is registered to an individual,etc.

At step 504, the controller 110 obtains traffic management supportinformation from a user record associated with the user activity. Theuser record may be stored on one of devices 114 or 116. Alternatively,the user record may be stored in one of storage devices 124 and 126 ifauthorized by the user. At step 506, it is determined whether the userrecord supports traffic management services. If so, the controller 110subscribes to traffic management messages from a device associated withthe user at step 508. At step 510, the controller 110 reports its statusto the user device. At step 512, the controller 110 publishes the userpresence for external access. At step 514, the controller 110 logs thestatus of the subscription to the user in its internal database andinitiates traffic management services in accordance with the trafficmessages at step 516. If, however, the user record does not supporttraffic management services at step 506, the controller 110 implementsdefault traffic management at step 518 as described above in FIG. 2.

Turning now to FIG. 6, a process for establishing and maintaining thetraffic control system with respect to a controller and a communicationssession (e.g., a television programming session, a file download, avideo chat session, an electronic gaming session, etc.) will now bedescribed. At step 602, a session initiation activity is detected by thecontroller 110. For example, a session initiation activity may include auser signing on to an application such as an instant messaging or videochat application. The act of signing on to the application may trigger asignal that is transmitted to controller 110 via the device upon whichthe application is executing. At step 604, the controller 110categorizes and logs the session. This step is performed in order toidentify and manage various types of sessions, many of which havediffering transmission requirements (e.g., a video chat may requirehigher level resources than a file download). At step 606, thecontroller 110 polls an end point for traffic management supportinformation. Traffic sessions require communication between two endpoints, one of which is on the controller side. The end point describedherein refers to the location that is not on the controller side. Fortraffic sessions occurring between two locations, both of which containa controller (e.g., video chat between two computers), the end pointdiscussed herein refers to the location that did not initiate thesession.

At step 608, it is determined whether the end point supports trafficmanagement services. If so, the controller 110 subscribes to trafficmanagement messages from the end point at step 610. At step 612, thecontroller 110 negotiates its capabilities with the end point. At step614, the controller 110 publishes the session characteristics forexternal access. At step 616, the controller 110 establishes new trafficallocation rules. For example, if a controller at the end point does notprovide allocation preferences, the controller 110 may implement trafficmanagement services in accordance with messages received from deviceswithin customer premises 102. However, if the controller at the endpoint does provide allocation preferences, then the controller 110establishes new traffic allocation rules in accordance with negotiationsconducted with the end point controller (in step 612). At step 618, thecontroller 110 logs the status of the subscription to the end pointsession in its internal database and initiates traffic managementservices in accordance with the traffic messages (and negotiatedallocation) at step 620. If, however, the end point does not supporttraffic management at step 608, the controller 110 implements defaulttraffic management at step 622 as described above in FIG. 2.

As described above, the exemplary embodiments can be implemented in theform of computer-implemented processes and apparatuses for practicingthose processes. Exemplary embodiments can also be implemented in theform of computer program code containing instructions embodied intangible media, such as floppy diskettes, CD ROMs, hard drives, or anyother computer-readable storage medium, wherein, when the computerprogram code is loaded into and executed by a computer, the computerbecomes an apparatus for practicing the exemplary embodiments. Exemplaryembodiments can also be implemented in the form of computer programcode, for example, whether stored in a storage medium, loaded intoand/or executed by a computer, or transmitted over some transmissionmedium, loaded into and/or executed by a computer, or transmitted oversome transmission medium, such as over electrical wiring or cabling,through fiber optics, or via electromagnetic radiation, wherein, whenthe computer program code is loaded into an executed by a computer, thecomputer becomes an apparatus for practicing the exemplary embodiments.When implemented on a general-purpose microprocessor, the computerprogram code segments configure the microprocessor to create specificlogic circuits.

While the invention has been described with reference to exemplaryembodiments, it will be understood by those skilled in the art thatvarious changes may be made and equivalents may be substituted forelements thereof without departing from the scope of the invention. Inaddition, many modifications may be made to adapt a particular situationor material to the teachings of the invention without departing from theessential scope thereof. Therefore, it is intended that the inventionnot be limited to the particular embodiments disclosed for carrying outthis invention, but that the invention will include all embodimentsfalling within the scope of the claims. Moreover, the use of the termsfirst, second, etc. do not denote any order or importance, but ratherthe terms first, second, etc. are used to distinguish one element fromanother. Furthermore, the use of the terms a, an, etc. do not denote alimitation of quantity, but rather denote the presence of at least oneof the referenced item.

1. A method, comprising: detecting an occurrence of an activity via acomputer processor, the activity subject to the detecting including apresence of a device; obtaining traffic management support informationassociated with a source of the activity and a destination of theactivity, the traffic management support information comprisinguser-defined preferences for controlling traffic to the device;determining whether the source and the destination support trafficmanagement activities; if the source and the destination support thetraffic management activities, performing, via the computer processor:subscribing to traffic messages provided by the source; and implementingtraffic management activities for the source and the destination basedupon the traffic messages and the user-defined preferences; if thesource and the destination do not support the traffic managementactivities, performing default traffic management activities via thecomputer processor; and reporting a status of the device.
 2. The methodof claim 1, further comprising: reporting capabilities of the device;and publishing the capabilities for external access.
 3. The method ofclaim 1, wherein the activity subject to the detecting further includesa network presence, and the source is a network, the method furthercomprising reporting capabilities of the network.
 4. The method of claim1, wherein the activity subject to the detecting further includes acommunication session, the method further comprising: negotiatingcapabilities of the communication session; publishing sessioncharacteristics for external access; and establishing traffic allocationrules.
 5. The method of claim 1, further comprising: translating thetraffic messages provided by the source.
 6. The method of claim 1,wherein the detecting an occurrence of an activity further includesdetecting a presence user of the device, the detecting the presence ofthe user performed by receiving sensor data indicating the presence viaa sensor, the method further comprising publishing the presence of theuser at the device responsive to receiving the sensor data.
 7. Themethod of claim 6, wherein the sensor is a heat sensor.
 8. The method ofclaim 6, wherein the sensor is a motion sensor.
 9. A system, comprising:a controller including a computer processor; and computer program logicexecuting on the computer processor, the computer program logicimplementing a method, comprising: detecting an occurrence of anactivity, the activity subject to the detecting including a presence ofa device; obtaining traffic management support information associatedwith a source of the activity and a destination of the activity, thetraffic management support information comprising user-definedpreferences for controlling traffic to the device, the source of theactivity in communication with the controller; determining whether thesource and the destination support traffic management activities; if thesource and the destination support the traffic management activities,performing: subscribing to traffic messages provided by the source; andimplementing traffic management activities for the source and thedestination based upon the traffic messages and the user-definedpreferences; and if the source and the destination do not support thetraffic management activities, performing default traffic managementactivities; and reporting a status of the device.
 10. The system ofclaim 9, wherein the computer program logic further implements:reporting capabilities of the device; and publishing the capabilitiesfor external access.
 11. The system of claim 9, wherein the activitysubject to the detecting further includes a network presence, and thesource is a network, the computer program logic further implementing:reporting capabilities of the network.
 12. The system of claim 9,wherein the activity subject to the detecting further includes acommunication session, the computer program logic further implementing:negotiating capabilities of the communication session; publishingsession characteristics for external access; and establishing trafficallocation rules.
 13. The system of claim 9, wherein the computerprogram logic further implements: translating the traffic messagesprovided by the source.
 14. A tangible computer-readable storage mediumencoded with computer executable code to perform a method, the methodcomprising: detecting an occurrence of an activity, the activity subjectto the detecting including a presence of a device; obtaining trafficmanagement support information associated with a source and adestination of the activity, the traffic management support informationcomprising user-defined preferences for controlling traffic to thedevice; determining whether the source and the destination supporttraffic management activities; if the source and the destination supportthe traffic management activities, performing: subscribing to trafficmessages provided by the source; and implementing traffic managementactivities for the source and the destination based upon the trafficmessages and the user-defined preferences; if the source and thedestination do not support the traffic management activities, performingdefault traffic management activities; and reporting a status of thedevice.
 15. The tangible computer computer-readable storage medium ofclaim 14, wherein the activity subject to the detecting further includesa device presence, and the source further includes the device, themethod further comprising: reporting capabilities of the device; andpublishing the capabilities for external access.
 16. The tangiblecomputer computer-readable storage medium of claim 14, wherein theactivity subject to the detecting further includes a network presence,and the source is a network, the method further comprising reportingcapabilities of the network.
 17. The tangible computer computer-readablestorage medium of claim 14, wherein the activity subject to thedetecting further includes a communication session, the method furthercomprising: negotiating capabilities of the communication session;publishing session characteristics for external access; and establishingtraffic allocation rules.